package com.tulele.vtool.mapper;

import com.tulele.vtool.model.UserCommodityInfo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.util.List;

@Component(value = "userCommodityInfoMapper")
public interface UserCommodityInfoMapper {

    /**
     * 添加商品信息
     * @param userCommodityInfo
     * @return
     */
    int addCommodityInfo(UserCommodityInfo userCommodityInfo);

    /**
     * 更新商品信息
     * @param userCommodityInfo
     * @return
     */
    int updateCommodityInfo(UserCommodityInfo userCommodityInfo);

    /**
     * 查询商品详情
     * @param commodityId
     * @return
     */
    UserCommodityInfo queryCommodityDetailInfo(Integer commodityId);

    /**
     * 查询用户指定数目的商品信息
     * @param userId
     * @param recordSize
     * @return
     */
    List<UserCommodityInfo> queryUserCommodityInfoBySpecialSize(@Param("userId") Integer userId, @Param("brandId")Integer brandId, @Param("recordSize") int recordSize);

    /**
     * 查询用户商品信息
     * @param userId
     * @return
     */
    List<UserCommodityInfo> queryUserCommodityInfo(@Param("userId")Integer userId, @Param("brandId")Integer brandId);

    /**
     * 查询用户置顶商品信息
     * @param userId
     * @return
     */
    List<UserCommodityInfo> queryUserStickCommodityInfo(@Param("userId")Integer userId);

    /**
     * 更新用户所有商品信息
     * @param userId
     * @param commodityStatus
     * @return
     */
    int updUserAllCommodityInfo(@Param("userId")Integer userId, @Param("commodityStatus")Integer commodityStatus);

    /**
     * 查询用户有效的品牌商品数目
     * @param userId
     * @param brandId
     * @return
     */
    int queryUserBrandCommodityCount(@Param("userId")Integer userId, @Param("brandId") Integer brandId);

    /**
     * 增加用户平台商品信息
     * @param userId
     * @param brandId
     * @return
     */
    int addUserPlatformCommodityInfo(@Param("userId")Integer userId, @Param("brandId") Integer brandId);
}